package com.ecloud.openapi.translate.dto;

import java.time.LocalDateTime;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.ecloud.common.base.model.BaseDto;
import com.ecloud.common.base.valid.ValidGroup.Insert;

import lombok.Getter;
import lombok.Setter;

/**
 * 翻译配置表 DTO模型
 *
 * @author LiuGangQiang Create in 2021/08/09
 */
@Getter
@Setter
public class BaseTranslateInfoDto extends BaseDto<Long> {
    private static final long serialVersionUID = 1L;
    /**
     * 字段描述: 类型 <br>
     * 数据类型: varchar(64)
     *
     * @author LiuGangQiang Create in 2021/08/09
     */
    @NotBlank(message = "{translate.base.translate.info.type.not.blank}", groups = { Insert.class })
    @Length(message = "{translate.base.translate.info.type.length}", min = 1, max = 64, groups = { Insert.class })
    private String type;
    /**
     * 字段描述: 原文 <br>
     * 数据类型: varchar(512)
     *
     * @author LiuGangQiang Create in 2021/08/09
     */
    @NotBlank(message = "{translate.base.translate.info.source.not.blank}", groups = { Insert.class })
    @Length(message = "{translate.base.translate.info.source.length}", min = 1, max = 512, groups = { Insert.class })
    private String source;
    /**
     * 字段描述: 译文 <br>
     * 数据类型: varchar(512)
     *
     * @author LiuGangQiang Create in 2021/08/09
     */
    @NotBlank(message = "{translate.base.translate.info.target.not.blank}", groups = { Insert.class })
    @Length(message = "{translate.base.translate.info.target.length}", min = 1, max = 512, groups = { Insert.class })
    private String target;
    /**
     * 字段描述: 语言 例如zh_CN <br>
     * 数据类型: varchar(8)
     *
     * @author LiuGangQiang Create in 2021/08/09
     */
    @NotBlank(message = "{translate.base.translate.info.language.not.blank}", groups = { Insert.class })
    @Length(message = "{translate.base.translate.info.language.length}", min = 1, max = 8, groups = { Insert.class })
    private String language;
    /**
     * 字段描述: 是否通用 <br>
     * 数据类型: tinyint(1) unsigned
     *
     * @author LiuGangQiang Create in 2021/08/09
     */
    @NotNull(message = "{translate.base.translate.info.common.not.null}", groups = { Insert.class })
    private Boolean common;
    /**
     * 字段描述: 修改时间 <br>
     * 数据类型: datetime
     *
     * @author LiuGangQiang Create in 2021/08/09
     */
    private LocalDateTime updateTime;
    /**
     * 字段描述: 创建时间 <br>
     * 数据类型: datetime
     *
     * @author LiuGangQiang Create in 2021/08/09
     */
    private LocalDateTime createTime;
}
